SlideShare a Scribd company logo
Needs more jQuery
Using advanced JavaScript in
Atlassian Plugins
Tuesday, November 2, 2010
Needs more jQuery
Using advanced JavaScript in
Atlassian Plugins
Tuesday, November 2, 2010
Needs more jQuery
Using jQuery and AUI to create
better plugins with less work
Tuesday, November 2, 2010
AUI
Atlassian User Interface
Tuesday, November 2, 2010
“owie”
Atlassian User Interface
Tuesday, November 2, 2010
Tuesday, November 2, 2010
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI DialogAUI Forms
Tuesday, November 2, 2010
AUI Toolbar
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Not in AUI
Tuesday, November 2, 2010
AUI Dialog
Not in AUI. Yet.
Tuesday, November 2, 2010
AUI is driving a lot of our UI innovation.
Tuesday, November 2, 2010
AUI is driving a lot of our UI innovation.
It can drive yours too.
Tuesday, November 2, 2010
Who am I?
• Zach Davis
• Front-end Developer
• Integration Team
• San Francisco
Tuesday, November 2, 2010
What
Why
How
Where
?
Tuesday, November 2, 2010
What the Atlassian User Interface library is
Why
How
Where
?
Tuesday, November 2, 2010
What
Why we chose jQuery
How
Where
?
Tuesday, November 2, 2010
What
Why you should choose AUI
How
Where
?
Tuesday, November 2, 2010
What
Why
How to use AUI
Where
?
Tuesday, November 2, 2010
What
Why
How
Where AUI is now
?
Tuesday, November 2, 2010
What
Why
How
Where AUI is headed
?
Tuesday, November 2, 2010
What
Why
How
Where
Questions?
Tuesday, November 2, 2010
What is the Atlassian User Interface library?
Why
How
Where
?
Tuesday, November 2, 2010
“The Atlassian User Interface
(AUI) is a set of reusable, cross-
browser tested, high-quality
JavaScript and CSS UI
components. We developed AUI
for use in Atlassian applications.
Tuesday, November 2, 2010
?
Tuesday, November 2, 2010
less work, more awesome
Tuesday, November 2, 2010
What AUI provides
• Wraps jQuery
• JS components
• JS utilities
• Ready to go CSS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Forms
Tuesday, November 2, 2010
Forms
Tuesday, November 2, 2010
What
Why did Atlassian choose jQuery?
How
Where
?
Tuesday, November 2, 2010
jQuery is a fast and concise JavaScript
Library that simplifies HTML
document traversing, event handling,
animating, and Ajax interactions for
rapid web development. jQuery is
designed to change the way that you
write JavaScript.
“
Tuesday, November 2, 2010
?
Tuesday, November 2, 2010
Tuesday, November 2, 2010
less work, more awesome
Tuesday, November 2, 2010
Why Atlassian chose jQuery
January, 2008
Tuesday, November 2, 2010
What
Why should you care?
How
Where
?
Tuesday, November 2, 2010
Consistent look and feel
Tuesday, November 2, 2010
Ready to use components
Tuesday, November 2, 2010
Helpful utilities
Tuesday, November 2, 2010
What
Why
How do you use AUI?
Where
?
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Dialog
var popup = new AJS.Dialog(400, 200, "my-
popup");
popup.show( );
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Inline Dialog
AJS.InlineDialog(AJS.$("#my-trigger"), 1, "dialog-
content.html");
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Dropdown
AJS.$("#my-dropdown").dropdown("Standard");
Tuesday, November 2, 2010
AJS.format
Tuesday, November 2, 2010
AJS.format("Showing entries {0} - {1} of {2}", 0, 10,
11);
AJS.format
Tuesday, November 2, 2010
>> Showing entries 0 - 10 of 11
AJS.format
AJS.format("Showing entries {0} - {1} of {2}", 0, 10,
11);
Tuesday, November 2, 2010
Keyboard shortcuts
Tuesday, November 2, 2010
Keyboard shortcuts
AJS.whenIType("cl").click("#test-click");
Tuesday, November 2, 2010
Keyboard shortcuts
AJS.whenIType("cl").click("#test-click");
AJS.whenIType("sf").execute(someFunction);
Tuesday, November 2, 2010
Sounds great...
Tuesday, November 2, 2010
Sounds great...
...but how do I get it in my plugin?
Tuesday, November 2, 2010
Sounds great...
$webResourceManager.requireResource
("com.atlassian.auiplugin:ajs")
...but how do I get it in my plugin?
Tuesday, November 2, 2010
atlassian-plugin.xml
<web-resource name="Fake plugin resources" key="fake-resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="fake-plugin.js" location="js/fake-
plugin.js"/>
<resource type="download" name="fake-plugin.css" location="css/fake-
plugin.css"/>
</web-resource>
Tuesday, November 2, 2010
atlassian-plugin.xml
<web-resource name="Fake plugin resources" key="fake-resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="fake-plugin.js" location="js/fake-
plugin.js"/>
<resource type="download" name="fake-plugin.css" location="css/fake-
plugin.css"/>
</web-resource>
fake-plugin.vm
$webResourceManager.requireResource("com.atlassian.example:fake-
resources")
Tuesday, November 2, 2010
What
Why
How do you use AUI?
Where
?
Tuesday, November 2, 2010
What
Why
How
Where is AUI now?
?
Tuesday, November 2, 2010
• Latest version: 3.2
• All products on AUI 3.x
• Open source
http://confluence.atlassian.com/display/AUI/Atlassian+User+Interface+(AUI)
+Developer+Documentation
https://studio.atlassian.com/browse/AJS
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
What
Why
How
Where is AUI headed?
?
Tuesday, November 2, 2010
More formalized processes
• Testing
• Builds
• Infrastructure
• Dedicated resources
Tuesday, November 2, 2010
Community contributions
Tuesday, November 2, 2010
Community feedback
Tuesday, November 2, 2010
What
Why
How
Where
?
Tuesday, November 2, 2010
What
Why
How
Where
Questions?
Tuesday, November 2, 2010
Photo credits
http://www.flickr.com/photos/dmitry-baranovskiy/2378867408/
http://www.flickr.com/photos/cayusa/384187184/
http://www.flickr.com/photos/oskay/437341128/
http://www.flickr.com/photos/rocketlass/2851359961/
http://www.flickr.com/photos/mimk/1350963678/
Tuesday, November 2, 2010
More information
• Developer Docs: http://confluence.atlassian.com/display/AUI/
Atlassian+User+Interface+(AUI)+Developer+Documentation
• Javadocs: http://docs.atlassian.com/aui/3.0/
• Demos: https://studio.atlassian.com/source/browse/
~raw,r=HEAD/AJS/trunk/auiplugin/src/demo/index.html (Studio
login required)
Tuesday, November 2, 2010

More Related Content

PDF
Developing in HTML5: Widgetbox & Sencha Touch
PDF
The Tech Side of Project Argo
PDF
Seaside - Why should you care? (Dynamic Stockholm 2010)
PDF
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
PDF
ZOMG WHY IS THIS CODE SO SLOW
PDF
Sencha Touch Workshop
PDF
Idiots guide to jquery
PDF
RIA Unleashed - Developing for the TV with litl os
Developing in HTML5: Widgetbox & Sencha Touch
The Tech Side of Project Argo
Seaside - Why should you care? (Dynamic Stockholm 2010)
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
ZOMG WHY IS THIS CODE SO SLOW
Sencha Touch Workshop
Idiots guide to jquery
RIA Unleashed - Developing for the TV with litl os

Similar to AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis (20)

PDF
Human APIs
PDF
Cassandra devoxx 2010
PDF
Turning That UX Frown Upside Down
PDF
Sencha Touch for the Mobile Web
PDF
Mongodb on Ruby And Rails (froscon 2010)
PDF
Ruby on-rails-workshop
PPSX
Web App Scaffolding - FOWA London 2010
PDF
Mongo db
PDF
SenchaCon 2010 Keynote by CEO Abe Elias
PDF
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
PDF
CSS3 now
PDF
Html5 Apps
PDF
Html5/CSS3 in shanghai 2010
PDF
Best Practices - Mobile Developer Summit
PDF
In depth with html5 java2days 2010
PDF
Impactos no design com programação funcional
PDF
Aegir one drupal to rule them all
PDF
Macruby - RubyConf Presentation 2010
PDF
An Overview of HTML5 Storage
PDF
Introduction to Vaadin 7
Human APIs
Cassandra devoxx 2010
Turning That UX Frown Upside Down
Sencha Touch for the Mobile Web
Mongodb on Ruby And Rails (froscon 2010)
Ruby on-rails-workshop
Web App Scaffolding - FOWA London 2010
Mongo db
SenchaCon 2010 Keynote by CEO Abe Elias
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
CSS3 now
Html5 Apps
Html5/CSS3 in shanghai 2010
Best Practices - Mobile Developer Summit
In depth with html5 java2days 2010
Impactos no design com programação funcional
Aegir one drupal to rule them all
Macruby - RubyConf Presentation 2010
An Overview of HTML5 Storage
Introduction to Vaadin 7
Ad

More from Atlassian (20)

PPTX
International Women's Day 2020
PDF
10 emerging trends that will unbreak your workplace in 2020
PDF
Forge App Showcase
PDF
Let's Build an Editor Macro with Forge UI
PDF
Meet the Forge Runtime
PDF
Forge UI: A New Way to Customize the Atlassian User Experience
PDF
Take Action with Forge Triggers
PDF
Observability and Troubleshooting in Forge
PDF
Trusted by Default: The Forge Security & Privacy Model
PDF
Designing Forge UI: A Story of Designing an App UI System
PDF
Forge: Under the Hood
PDF
Access to User Activities - Activity Platform APIs
PDF
Design Your Next App with the Atlassian Vendor Sketch Plugin
PDF
Tear Up Your Roadmap and Get Out of the Building
PDF
Nailing Measurement: a Framework for Measuring Metrics that Matter
PDF
Building Apps With Color Blind Users in Mind
PDF
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
PDF
Beyond Diversity: A Guide to Building Balanced Teams
PDF
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
PDF
Building Apps With Enterprise in Mind
International Women's Day 2020
10 emerging trends that will unbreak your workplace in 2020
Forge App Showcase
Let's Build an Editor Macro with Forge UI
Meet the Forge Runtime
Forge UI: A New Way to Customize the Atlassian User Experience
Take Action with Forge Triggers
Observability and Troubleshooting in Forge
Trusted by Default: The Forge Security & Privacy Model
Designing Forge UI: A Story of Designing an App UI System
Forge: Under the Hood
Access to User Activities - Activity Platform APIs
Design Your Next App with the Atlassian Vendor Sketch Plugin
Tear Up Your Roadmap and Get Out of the Building
Nailing Measurement: a Framework for Measuring Metrics that Matter
Building Apps With Color Blind Users in Mind
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Beyond Diversity: A Guide to Building Balanced Teams
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Building Apps With Enterprise in Mind
Ad

AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis